package cn.topevery.garden.dal.dao;

import cn.topevery.garden.entity.po.CriterionDef;
import cn.topevery.garden.entity.query.CriterionDefQuery;
import cn.topevery.garden.entity.vo.CriterionDefVO;
import cn.topevery.garden.entity.vo.CriterionTableVO;
import cn.topevery.garden.framework.base.BaseDao;
import hw.topevery.framework.db.entity.DataPager;

import java.util.List;
import java.util.Map;

/**
 * 综合评价标准定义表
 *
 * @author code-generate
 * @date 2022-01-05
 */
public interface CriterionDefDao extends BaseDao<CriterionDef> {

    

    /**
     * 获取列表
     *
     * @param query
     */
    DataPager<CriterionDefVO> listPage(CriterionDefQuery query);

    CriterionDef getEntityByColumn(String key,String value);

    void insert(List<CriterionDef> criterionList, Integer userId);

    List<CriterionDef> getListByPid(String pid);

    List<CriterionDef> getListByPidIgnoreRelation(String pid);

    List<CriterionDef> getRootListByCriterionId(String rootId);

    List<CriterionDef> getById(String criterionId);

    void update(List<CriterionDef> criterionList, Integer userId);

    CriterionDef getRelationById(String criterionId);

    CriterionDef getOneById(String criterionId);

    List<Map<String, Object>> getCountList(String year);

    List<Map<String, Object>> getCountShowList(String year);

    List<CriterionTableVO> getCriterionTableByMapIdAndYear(Map<String, String> map, Integer isReach, Integer isShow);

    List<Map<String, Object>> getHomeInfo(String mapId);

    List<Map<String, Object>> getHomeInfoShow(String mapId);
}
